@use "../mixins/config" as *;
@use "../mixins/mixins" as *;

.fade-in-linear-enter-active,
.fade-in-linear-leave-active {
  transition: getCssVar("transition-fade", "linear");
}

.fade-in-linear-enter-from,
.fade-in-linear-leave-to {
  opacity: 0;
}

.#{$namespace}-fade-in-linear-enter-active,
.#{$namespace}-fade-in-linear-leave-active {
  transition: getCssVar("transition-fade", "linear");
}
.#{$namespace}-fade-in-linear-enter-from,
.#{$namespace}-fade-in-linear-leave-to {
  opacity: 0;
}

.#{$namespace}-fade-in-enter-active,
.#{$namespace}-fade-in-leave-active {
  transition: all getCssVar("transition-duration") cubic-bezier(0.55, 0, 0.1, 1);
}
.#{$namespace}-fade-in-enter-from,
.#{$namespace}-fade-in-leave-active {
  opacity: 0;
}

.#{$namespace}-zoom-in-center-enter-active,
.#{$namespace}-zoom-in-center-leave-active {
  transition: all getCssVar("transition-duration") cubic-bezier(0.55, 0, 0.1, 1);
}
.#{$namespace}-zoom-in-center-enter-from,
.#{$namespace}-zoom-in-center-leave-active {
  transform: scaleX(0);
  opacity: 0;
}

.#{$namespace}-zoom-in-top-enter-active,
.#{$namespace}-zoom-in-top-leave-active {
  transform: scaleY(1);
  transform-origin: center top;
  opacity: 1;
  transition: getCssVar("transition-md-fade");

  &[data-popper-placement^="top"] {
    transform-origin: center bottom;
  }
}
.#{$namespace}-zoom-in-top-enter-from,
.#{$namespace}-zoom-in-top-leave-active {
  transform: scaleY(0);
  opacity: 0;
}

.#{$namespace}-zoom-in-bottom-enter-active,
.#{$namespace}-zoom-in-bottom-leave-active {
  transform: scaleY(1);
  transform-origin: center bottom;
  opacity: 1;
  transition: getCssVar("transition-md-fade");
}
.#{$namespace}-zoom-in-bottom-enter-from,
.#{$namespace}-zoom-in-bottom-leave-active {
  transform: scaleY(0);
  opacity: 0;
}

.#{$namespace}-zoom-in-left-enter-active,
.#{$namespace}-zoom-in-left-leave-active {
  transform: scale(1, 1);
  transform-origin: top left;
  opacity: 1;
  transition: getCssVar("transition-md-fade");
}
.#{$namespace}-zoom-in-left-enter-from,
.#{$namespace}-zoom-in-left-leave-active {
  transform: scale(0.45, 0.45);
  opacity: 0;
}

.collapse-transition {
  transition: getCssVar("transition-duration") height ease-in-out,
    getCssVar("transition-duration") padding-top ease-in-out,
    getCssVar("transition-duration") padding-bottom ease-in-out;
}

.#{$namespace}-collapse-transition-leave-active,
.#{$namespace}-collapse-transition-enter-active {
  transition: getCssVar("transition-duration") max-height ease-in-out,
    getCssVar("transition-duration") padding-top ease-in-out,
    getCssVar("transition-duration") padding-bottom ease-in-out;
}

.horizontal-collapse-transition {
  transition: getCssVar("transition-duration") width ease-in-out,
    getCssVar("transition-duration") padding-left ease-in-out,
    getCssVar("transition-duration") padding-right ease-in-out;
}

.#{$namespace}-list-enter-active,
.#{$namespace}-list-leave-active {
  transition: all 1s;
}

.#{$namespace}-list-enter-from,
.#{$namespace}-list-leave-to {
  transform: translateY(-30px);
  opacity: 0;
}

.#{$namespace}-list-leave-active {
  position: absolute !important;
}

.#{$namespace}-opacity-transition {
  transition: opacity getCssVar("transition-duration")
    cubic-bezier(0.55, 0, 0.1, 1);
}
